草庐IT

allow_migrate

全部标签

ruby-on-rails - 防止 rake migrate 创建外键约束

我们有一个情况,其中一个表列名称使用后缀“_id”。迁移代码:create_table:companiesdo|t|t.integer:ref_idt.string:nameend当运行db:migrate时,它​​失败了,因为rails试图为ref_id创建外键约束,但发现没有名为“refs”的表。在我们的例子中,“ref_id”不是外键。我们有没有办法阻止Rails为该列创建外键约束? 最佳答案 看来您有一个schema_plusgem。你可以这样做:create_table:companiesdo|t|t.integer:re

ruby-on-rails - 无法解析 CSV 文件 - "CSV::MalformedCSVError: Unquoted fields do not allow\r or\n"

我正在尝试解析上传的CSV文件。这是完整的错误消息:[Worker(host:PC.localpid:69594)]JobImportJob(id=4)FAILED(3priorattempts)withCSV::MalformedCSVError:Unquotedfieldsdonotallow\ror\n(line1).CSV文件如下所示:A1;A2;A3;A4;A5B1;B2;B3;B4;B5C1;C2;C3;C4;C5这就是我循环遍历CSV文件中数据的方式:data=SmarterCSV.process(file,{:col_sep=>';',:chunk_size=>100,

ruby - rake 数据库 :migrate runs into an error for an undefined method

我接管了一个由其他人建立的网站。我现在正试图在本地主机上启动并运行它。但是,当我迁移时,看起来以前的开发人员将代码放入可能依赖于已经存在的种子的迁移中。迁移文件如下所示。defupadd_column:supplies,:color,:stringSupply.where(:title=>"Shipped").first.update(:color=>'#e20ce8')enddefdownremove_column:supplies,:colorend当我运行rakedb:migrate时我在这个文件上遇到的错误是...rakeaborted!StandardError:Anerro

ruby-on-rails - Heroku rake 数据库 :migrate

Heroku告诉我,有些迁移尚未运行,但显然它们已经运行。看起来它是在一次迁移之后。我该如何解决这个问题。当我运行rakedb:migrate时,它告诉我rakeabortedMysql2::Error:Duplicatecolumnname。我知道这些字段已经创建,也很确定迁移运行了,因为这些字段在任何其他迁移中都不存在,并且rakedb:migrate在我的本地系统上运行得很好。我该如何解决这个问题?我认为Heroku只是没有意识到它已经运行了迁移。我怎么能告诉它“你已经运行了migrationxxx”? 最佳答案 这可能意味着

ruby-on-rails - 使用 rake db :migrate does not change it 迁移数据

我正在为rails和db:migrate苦苦挣扎。我有一个使用此代码的迁移classSetDefaultInstallmentsForLicenses运行迁移后有这个输出==SetDefaultInstallmentsForLicenses:migrating==============================Modifyinglicense3withcodeLEADERAftersavetrue5Aftersavef==SetDefaultInstallmentsForLicenses:migrated(0.0037s)=====================可以清楚的看到

ruby-on-rails - rake 数据库 :seed before db:migrate

每次播种时,rakedb:migrate都会出现错误。我不想迁移,因为它由于在我的数据库中查找尚不存在的表而失败。我怎样才能忽略它并继续使用种子?mmahalwy@~/Desktop/Code/API[56]→rakedb:seedYouhave4pendingmigrations:20141206123759AddEsAnalyzerColumnToLanguageTable20141213090426CreateTextFontView20141213090434UpdateLemmaAndStem20141230124205ChangeTextFontViewRun`rakedb

sql - Rails 应用程序外键错误 : Administrative user not allowed to delete other users in

当以管理用户身份登录并尝试删除用户时,我的heroku日志中出现以下错误:2015-03-24T07:47:23.506661+00:00app[web.1]:StartedDELETE"/users/1"for128.252.25.47at2015-03-2407:47:23+00002015-03-24T07:47:23.534256+00:00app[web.1]:SQL(4.4ms)DELETEFROM"users"WHERE"users"."id"=$1[["id",1]]2015-03-24T07:47:23.517508+00:00app[web.1]:UserLoad(

ruby-on-rails - rake 数据库 :migrate error tables

我正在尝试运行rakedb:migrate并在控制台中收到错误消息。好像我正在创建一个已经存在的表,但我不知道如何删除旧表,或重置数据库以重新开始。我没有任何用户,所以删除或重新开始都不是问题。create_table(:users)rakeaborted!StandardError:Anerrorhasoccurred,thisandalllatermigrationscanceled:SQLite3::SQLException:table"users"alreadyexists:CREATETABLE"users"("id"INTEGERPRIMARYKEYAUTOINCREMEN

ruby-on-rails - rspec - 如何检查 allow_blank 是否存在

我有一个有效的唯一性测试:it{shouldvalidate_uniqueness_of(:name).case_insensitive}然而,当我尝试对名称进行类似的测试时,它失败了it{shouldvalidate_presence_of(:name).allow_blank}我得到这个错误:undefinedmethodallow_blank'` 最佳答案 根据thislist,shoulda中没有可以链接到validate_presence_of的方法来支持你想做的事情。看看thesourcecodeofthematcher

ruby - 为什么我得到 '` parse' : (<unknown>): mapping values are not allowed in this context' in YAML file in Ruby

尝试在Ruby中打开我的Yaml文件时出现上述错误。我已经检查了这个验证器中的YAML,它已经通过了http://yamllint.com/.我不确定我的YAML有什么问题会阻止它打开。有任何想法吗?这是YAML文件。我正在尝试使用yml=YAML::load(File.open('servers.yml'))打开文件---servers:-ps-overture-d01location:ps-overture-d01tomcat_location:/home/tomcat/tomcat/webapps/report/user:tomcatmenus:-AccountsReceivab