我在 Symfony2 中使用 phpunit。
我决定使用 sqlite 进行测试。
我遇到的问题是外键约束被忽略了。
我知道我必须执行以下查询才能使用外键:PRAGMA foreign_keys = ON)。
我的问题是:有没有办法在使用 sqlite 创建数据库模式时始终使用外键?
谢谢!
最佳答案
不幸的是,这是不可能的。根据SQLite documentation :
Assuming the library is compiled with foreign key constraints enabled, it must still be enabled by the application at runtime, using the PRAGMA foreign_keys command.
我建议创建您自己的测试用例类并使用 setUp() 方法启用外键。
class SQLiteTestCase extends \PHPUnit_Framework_TestCase
{
protected function setUp()
{
parent::setUp();
// Here add your code to enable foreign keys
}
}
class MyTest extends SQLiteTestCase
{
protected function setUp()
{
// Setup your test data-set here
parent::setUp();
}
}
关于sqlite - Symfony2 : Unit testing with sqlite,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26363623/
出于某种原因,heroku尝试要求dm-sqlite-adapter,即使它应该在这里使用Postgres。请注意,这发生在我打开任何URL时-而不是在gitpush本身期间。我构建了一个默认的Facebook应用程序。gem文件:source:gemcuttergem"foreman"gem"sinatra"gem"mogli"gem"json"gem"httparty"gem"thin"gem"data_mapper"gem"heroku"group:productiondogem"pg"gem"dm-postgres-adapter"endgroup:development,:t
我是Sinatra的新手,我正在尝试使用SQLite3和Datamapper创建一个数据库。我安装了gem和适配器,然后尝试在文件中执行此代码:#configrequire'sinatra'require'sinatra/contrib'ifdevelopment?require'data_mapper'DataMapper::setup(:default,"sqlite3://#{Dir.pwd}/recall.db")DataMapper.finalize.auto_upgrade!当我执行文件时,命令行给了我这个错误:C:/Ruby193/lib/ruby/site_ruby/1
我正在试用rvm,并用它安装了ruby1.9.2和rails3。我需要重新安装sqlite3-rubygem(因为rvm为不同版本的ruby将所有gem分开)。问题是,当我尝试时,我得到:geminstallsqlite3-ruby/home/jenny/.rvm/rubies/ruby-1.9.2-p0/bin/gem:4:warning:Insecureworldwritabledir/home/jenny/.rvm/gems/ruby-1.9.2-p0/bininPATH,mode040777Buildingnativeextensions.Thiscouldtakeaw
我在让asseticsass过滤器与node-sass而不是ruby替代品一起工作时遇到了一些困难。我的config.yml文件中有以下配置:assetic:debug:"%kernel.debug%"use_controller:falsebundles:[]write-to:"%kernel.root_dir%/../web/assets"read_from:"%kernel.root_dir%/../web/assets"node:"%%PROGRAMFILES%%\nodejs\\node.exe"node_paths:["%%USERPROFILE%%\\AppData\
我正在关注RubyonRailsTutorial并且在测试部分变得有些困惑,特别是-3.6.2-AutomatedtestswithGuard按照部署到Heroku的教程说明,我已切换到Postgresql并从我的gemfile中删除了sqlite3,并进行了捆绑安装以进行更新。但是,一旦我运行bundleexecguard我收到消息:/Users/username/.rvm/gems/ruby-1.9.3-p125@global/gems/bundler-1.1.3/lib/bundler/rubygems_integration.rb:147:inblockinreplace_ge
我在crunchbanglinux上安装sqlite3-rubygem时遇到问题。在谷歌搜索过去几个小时并关注了几个遇到同样问题的人之后,我仍然没有让它工作。这是我在尝试“sudogeminstallsqlite3-ruby”后看到的构建native扩展。这可能需要一段时间...错误:安装sqlite3-ruby时出错:错误:无法构建gemnative扩展。/usr/bin/ruby1.8extconf.rb检查sqlite3.h...是的在-lsqlite3中检查sqlite3_libversion_number()...是检查rb_proc_arity()...否检查sqlite3
我正在使用Symfony3,我正在使用React.js创建一个包,并使用自身的react-router。问题是当我在react中使用路由时,如果我重新加载页面,symfony路由模块会发送“找不到路由”我的路由是索引页面的/admin和下一页的/admin/data。当我加载页面/admin时一切正常,我单击链接转到/admin/data,一切正常,react动态发送给我,但现在当我刷新(F5)页面/admin/数据,Symfony拦截它并尝试在其代码中找到路由并重定向到/404“NoRouteFound”。我知道在AngularJs上,框架使用的是ancors路径“localhost
提到了很多好的here但我想知道哪一个更适合Symfony2。 最佳答案 Symfony是一个服务器端MVC框架,它解决了许多Backbone.js等人感兴趣的相同领域问题。从这个意义上说,没有任何基于Javascript的MVC框架真正与Symfony集成得更好或更差。从MVC的Angular来看,最好侧重于服务器端(PHP/Symfony)或客户端(Javascript/各种)解决方案,并使用另一个来增强/支持该解决方案。尽管您当然可以将两者结合起来,但我认为如果您刚开始,最好将时间花在利用一个MVC框架上,而不是同时兼顾两个。
我真的是JavaScript的新手,我无法找到关于这方面的一些教程。如果有,请告诉我阅读它们。我想做的是将变量从我的PHPController传递到.js文件-我想填充Highcharts变量。我知道我可以发送响应,但我还需要加载一个模板。这是模板:...{%blockbody%}Months//ThisistheChart:{%blockjavascript%}{%endblock%}{%endblock%}.js文件名为month.js$(function(){$('#container').highcharts({chart:{type:'bar'},title:{text:'B
嗨,这么多天以来,我一直在搜索这个主题,但也无法得到提示。如果有人知道如何使用cordova和javascript将sqlite数据同步到sqlserver,请帮忙 最佳答案 开源实现有一些开源项目可以将PhoneGap应用程序与远程服务器同步。但是您必须调整/实现以适合您的项目。SynchronizealocalWebSQLDbtoaserverCouchbaseLitePhoneGappluginPouchdb或者,自定义API您可以创建自己的API方法集,以将数据从WebSQL发送/更新到您的远程服务器DB。标记需要“同步”到