草庐IT

cl-sqlite

全部标签

c# - EntityFramework 核心单元测试 - SQLite 内存模式与 InMemory 提供程序

我正在为使用EntityFrameworkCore并根据docs的项目编写单元测试。我可以使用SQLite内存模式或TheInMemoryprovider来近似数据库上下文。文档指出SQLite内存模式的行为类似于关系数据库,InMemory提供程序的行为并不总是像关系数据库。据我所知,SQLite模式听起来更好,因为它的行为类似于关系数据库,而InMemory提供程序则不然,但我想还有其他方面需要考虑,否则没有人会使用InMemory提供程序听起来更糟。在选择使用哪种工具之前,我应该考虑每种方法的其他优缺点吗? 最佳答案 如果您的

C# SQLite-net 定义多列唯一

我看到了对SQLite-net中支持多列唯一约束的更改的引用。我知道它可以直接用sqlite完成,但是我更喜欢使用sqlite-net方法来做事。什么是做多列唯一的语法。Single是希望唯一的列上方的[Unique]。 最佳答案 我通过查看项目中包含的实际单元测试找到了答案。它基于在索引属性上使用命名参数。例如:[Indexed(Name="ListingID",Order=2,Unique=true)]publicstringListingNumber{get;set;}[Indexed(Name="ListingID",Ord

php - 通过laravel php插入sqlite数据库出错

我正在尝试通过其中具有表单的View将值插入到sqlite数据库中。此View调用Task_controller类中的插入方法,导致以下错误SQLSTATE[HY000][2002]由于目标机器主动拒绝,无法建立连接。(SQL:insertintotask(Title,Completed,Description,created_at,updated_at)值(kfjjklsjfl、bnm、mnm、2017-03-2012:57:31、2017-03-2012:57:31))但是当我使用“phpartisantinker”将行插入表中时,它们就没有错误了。我的create_task.bl

php - PDO SQLite 无法绑定(bind) NOT IN 表达式

代码如下:setAttribute(PDO::ATTR_ERRMODE,PDO::ERRMODE_EXCEPTION);$goodSql='SELECTnumberFROM(SELECT1numberUNIONSELECT2)numbersWHEREnumbernotin(2)';echojson_encode($dbh->query($goodSql)->fetchAll(PDO::FETCH_NUM));$badSql='SELECTnumberFROM(SELECT1numberUNIONSELECT2)numbersWHEREnumbernotin(?)';$binds=['2

php - 使用 PHP/PDO 避免锁定的 SQLite 数据库超时

我目前正在尝试修复issueinDrupalcore'sissuequeue与执行搜索索引时有人访问站点时发生的超时有关,这是一种写入密集型操作,通常发生在调用cron命令时(因此它很可能发生在实时站点上,同时仍然可以访问民众)。它源于SQLite对写入的锁定,这通常不是问题,但在这种情况下是因为执行此索引会大大增加连接在等待锁定释放时超时的可能性。答案似乎是增加驱动程序等待锁释放的时间。在PHP中,这应该可以通过将PDO::ATTR_TIMEOUT选项设置为等待锁定的秒数来实现。但是,这似乎并没有真正起作用;无论传递什么值,超时都会发生。不过,我找不到任何关于它在互联网上其他任何地方

php - SQLite3数据库加密——确定加密库?

我正在考虑为PHP应用程序支持加密的sqlite数据库。我正在使用PHP的SQLite3扩展,它们似乎已经支持加密方法,至少SQLite3::__construct允许传递加密key。我无法弄清楚的是,他们在文档中谈论的是哪个加密库。通过谷歌搜索,我发现了以下内容:密码算法sqlite见sqlite地穴我不清楚的是:这些库如何与SQLite3集成如果他们在指定加密key和设置数据访问等方面相互兼容。如果我可以在我的应用程序中自动检测我的SQLite3安装支持的加密库,那么我的应用程序就可以支持不同的加密库非常感谢任何帮助! 最佳答案

PHP SQLite PDO 检查用户是否在表中?

我正在尝试创建一个脚本来检查提供的用户名是否在表“users”中,但“if”语句总是返回false。用户表只有一列“用户名”,列出了所有用户。我做错了什么?$dbh=newPDO("sqlite:db.sqlite");$stmt=$dbh->prepare("SELECTusernamefromuserswhereusername=:name");$stmt->bindParam(":name",$user);$stmt->execute();if($stmt->rowCount()>0){//inthetable}else{//notinthetable}整个脚本:login($u

php - Sqlite INSERT OR REPLACE INTO 未按预期工作

我花了好几个小时想弄清楚问题是什么:(表格如下所示:CREATETABLEIFNOTEXISTSpages(idINTEGERPRIMARYKEYAUTOINCREMENT,titleTEXT,parentINTEGERDEFAULTNULL,contentTEXT,timeINTEGER,FOREIGNKEY(category)REFERENCEScategories(id)ONDELETECASCADE,FOREIGNKEY(parent)REFERENCESpages(id)ONDELETECASCADE,UNIQUE(title)ONCONFLICTREPLACE)插入查询:I

php - 在 PHPUnit 中的内存 SQLITE 数据库中模拟数据

我目前正在学习如何在PHPUnit框架中测试数据库,遇到了我不想在测试中连接到真实数据库的问题。这是因为当我在另一台计算机上运行测试时,这台计算机可能没有相同的数据库。我实现了\PHPUnit\DbUnit\TestCaseTrait特性并设置了以下方法:/***Returnsthetestdatabaseconnection.**@return\PHPUnit\DbUnit\Database\Connection*/protectedfunctiongetConnection(){$pdo=newPDO('sqlite::memory:');return$this->createDe

php - 无法加载 pdo_sqlite.so 扩展

我正在尝试为cli安装pdo-sqliteext。我尝试运行sudoapt-getinstallphp5-sqlite并且它说ext已经是最新的但是当我运行php-m它没有出现在列表中。在我的/usr/lib/php/文件夹中,我有2个名为20131226和20160303的文件夹。后一个(20160303)包含pdo_sqlite.so但是当我尝试将其添加到php.ini文件时,出现错误PHP警告:PHP启动:无法加载动态库'/usr/lib/php/20160303/pdo_sqlite.so'-/usr/lib/php/20160303/pdo_sqlite.so:undefin