douhaoqiao9304 2014-12-07 21:53
浏览 118
已采纳

SQLite不支持drop; 什么用于Laravel单元测试

So it seems SQLite does not support dropping column. I have dropped/re-added columns over the time I build my application. I changed my database to. So right now, in my migration folder, there are folders that use $table->dropColumn('someColumn'). When I use SQLite, I get an error on that line (which was explained in the link above).

This tells me that I cannot use SQLite. So I decided to use MySQL:

<?php

return [

    'fetch' => PDO::FETCH_CLASS,

    'default' => 'mysql',

    'connections' => [
        'mysql' => [
            'driver'   => 'mysql',
            'database' => ':memory:',
            'prefix'   => '',
        ]
    ]

];

But I get an error: PDOException: SQLSTATE[HY000] [2002] No such file or directory

What connection should I then use for my unit testing?

  • 写回答

1条回答 默认 最新

  • doujing2017 2014-12-07 22:14
    关注

    MySQL doesn't have an in-memory feature like SQLite, so 'database' => ':memory:' won't work (short of starting a mysql server instance to write specifically in memory). Just setup a test database configuration in app/config/testing/database.php:

    'mysql' => array(
        'driver'    => 'mysql',
        'host'      => 'localhost',
        'database'  => 'test_database',
        'username'  => '*******',
        'password'  => '*******',
        'charset'   => 'utf8',
        'collation' => 'utf8_unicode_ci',
        'prefix'    => '',
    )
    

    And run the migrations on setUp and reset the migrations on tearDown.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 运筹学排序问题中的在线排序
  • ¥15 关于docker部署flink集成hadoop的yarn,请教个问题 flink启动yarn-session.sh连不上hadoop,这个整了好几天一直不行,求帮忙看一下怎么解决
  • ¥30 求一段fortran代码用IVF编译运行的结果
  • ¥15 深度学习根据CNN网络模型,搭建BP模型并训练MNIST数据集
  • ¥15 C++ 头文件/宏冲突问题解决
  • ¥15 用comsol模拟大气湍流通过底部加热(温度不同)的腔体
  • ¥50 安卓adb backup备份子用户应用数据失败
  • ¥20 有人能用聚类分析帮我分析一下文本内容嘛
  • ¥30 python代码,帮调试,帮帮忙吧
  • ¥15 #MATLAB仿真#车辆换道路径规划