我使用Rails 5.0.2,Postgresql作为数据库,Heroku Connect使用salesforce同步数据。
在创建应用程序表时,我已经有了公共模式,但Heroku Connect在相同的数据库salesforce表上写入。我需要在salesforce架构表中添加一个字段。
我发现方法schema_exists? (https://apidock.com/rails/ActiveRecord/ConnectionAdapters/PostgreSQL/SchemaStatements/schema_exists%3F)但我不知道如何实现它,我是RoR的新手。
这是我的迁移代码:
class CreateSchema < ActiveRecord::Migration[5.0]
def change
if !schema_exists?('salesforce')
execute "CREATE SCHEMA salesforce"
end
if !table_exists?('salesforce.ontap__order__c')
create_table 'salesforce.ontap__order__c'
end
add_column :'salesforce.ontap__order__c', :currencyisomode, :string
if !table_exists?('salesforce.ontap__order_item__c')
create_table 'salesforce.ontap__order_item__c'
end
add_column :'salesforce.ontap__order_item__c', :currencyisomode, :string
end
end
我做错了什么?
答案 0 :(得分:1)
我不确定您遇到了什么问题,但这应该有效:
import numpy as np
import matplotlib.pyplot as plt
np.random.seed = 42
x = np.linspace(0.1,0.9,50)
y = x%1
x += np.sin(2*x%1)
y = y%0.2
plt.scatter(x,y)
plt.savefig("test.pdf")
我已将更改方法重构为2种方法向上(在运行rake db:migrate时执行)和向下(在执行时执行你运行rake db:rollback)。