Skip to content

Zeroplex 生活隨筆

軟體開發和生活瑣事

小 縮小字型大小。 中 重設字型大小。 大 放大字型大小。

分類: 未分類

使用 Eloquent migration 刪除有 key constrain 的 table / index

Posted on 2019 年 7 月 18 日2021 年 3 月 12 日 By 日落 在〈使用 Eloquent migration 刪除有 key constrain 的 table / index〉中尚無留言

建立 table 時可能會同時建立 foreign key:

$table->foreign('good_id')
    ->references('id')
    ->on('goods')
    ->onDelete('cascade');

$table->index('value');

這個情況下要直接 dropIndex() 是會出現錯誤的,要先把 key constraint 解掉再來刪除 index。

而 constraint key name 用 show index from TABLE 是看不到的,但是可以使用下面的語法看到 create table 時做的事情:

show create table NAME

看到 contrain key name 以後先用 dropForeign() 刪除,再 dropIndex() 即可。

ps. 記得事情處理完以後,要把 constraint 加回去喔

Tags:Laravel, PHP

給台灣人的 Raspbian 懶人版映象檔

Posted on 2019 年 7 月 6 日2021 年 3 月 12 日 By 日落 在〈給台灣人的 Raspbian 懶人版映象檔〉中尚無留言

這幾天被 Raspbian 安裝搞得七葷八素,所以乾脆把幾個常用設定改好,直接打包給大家用。

我用的是 Raspbian Buster Lite:

  • Version: June 2019
  • Release Date: 2019-06-20
  • Kernal version: 4.19

我調整過的設定 (目標是接上電源線即可遠端操作):

  • Localization
    • Locale:en_US.utf8 + zh_TW.utf8
    • 時區:Asia/Taipei
    • 鍵盤對應:en (US)
    • Wify county:TW
  • SSH 預設啟動 (port 2222)
  • 有線網路自動 DHCP
  • /etc/apt/source.list 的 source 改為 NCHC (快超多)
  • 已經做過一次 apt-get update && apt-get upgrade
載點:https://mega.nz/#F!dR5EVABL!Nkynwg5ivQuRyRqpGz1Q4A

SHA1: 71664d5651d660077621f91b29edeecf4810a486
SHA256: 981a8ded523c30f06ec09292445255c55a862e5d756b4e0fff5f8d069ef35afa
Tags:Linux, Raspberry Pi, Raspbian

Google Dou 沒有 Desktop 版本 … 但有 web 版!

Posted on 2019 年 7 月 4 日2021 年 3 月 12 日 By 日落 在〈Google Dou 沒有 Desktop 版本 … 但有 web 版!〉中尚無留言

近期找到的語音通訊軟體,音質、順暢程度感覺最好的是 Google Duo,但是在行動裝置上運作起來,可以說是個非常吃系統資源的怪獸 (僅次於 LINE 和 Facebook 吧),所以打算找找看有沒有 Desktop 的版本。

沒想到 Google Dou 提供的不是 Desktop 版本 …

是 Google Duo 網頁板

感覺目前資訊產業從個人電腦,又慢慢轉回中央主機系統的架構,只是 terminal 變成彩色瀏覽器而已。

Tags:Google, 生活雜記

使用 setup.py 安裝 Python Package 要切換至根目錄

Posted on 2019 年 7 月 3 日2021 年 3 月 12 日 By 日落 在〈使用 setup.py 安裝 Python Package 要切換至根目錄〉中尚無留言

最近在研究 Python,下載了 RPIO 來安裝:

$ wget http://...... -O RPIO.zip
$ unzip RPIO.zip
$ python RPIO/setup.py install
....
running install
running bdist_egg
error: error in 'egg_base' option: 'source' does not exist or is not a directory

弄了半天,才知道有路徑問題,要先切到 package 根目錄再安裝才會成功:

$ cd RPIO
$ python setup.py install

沒寫過 Python 直接衝 GPIO 有越級打怪的感覺,不知道機器會不會被我搞爛 Orz

Tags:Python

注意 PHPUnit 的 fixture 行為

Posted on 2019 年 6 月 28 日2021 年 3 月 12 日 By 日落 在〈注意 PHPUnit 的 fixture 行為〉中尚無留言

理論上,各個 test case 不應該互相影響,所以 PHPUnit 設計的 fixtures 像是 setUp() 和 tearDown() 都會在各個 test case 前後執行。

簡單做個測試:

<?php

use PHPUnitFrameworkTestCase;

class LibTest extends TestCase
{
    public function setUp(): void
    {
        $this->data = null;
    }

    public function tearDown(): void
    {
        $this->data = null;
    }

    public function testOne()
    {
        $this->data = 123;
        $this->assertEquals(123, $this->data);

        return $this->data;
    }

    /**
     * @depends testOne
     */
    public function testTwo($data)
    {
        $this->assertEquals(123, $this->data);
    }
}

// -----

PHPUnit 8.2.3 by Sebastian Bergmann and contributors.

.F

即使在 test case 加上 @depends 標記,fixture 也會運作,所以若是要讓下一個 test case 繼續使用的測試值,都必須用 return 的方式傳值。

—-

另外,Laravel 提供的 testing tools 也有相同的行為。例如:「RefreshDatabase」,在 test case 執行結束以後就會把資料清空,因此如果要對 DB 做多像檢查,就必須在同一個 test case 中建立多個 assertions (個人不喜歡這樣做),不然即使加上 @depends,DB 中的資料也會被 refresh 掉。

Tags:Laravel, PHP, Testing

文章分頁

上一頁 1 ... 77 78 79 ... 320 下一頁

其他

關於我  (About me)

  文章 RSS Feed

  留言 RSS Feed

Apache AWS Bash C/C++ Docker FreeBSD GCP Git Google Java JavaScript Laravel Linux Microsoft MSSQL MySQL Nginx PHP PHPUnit PostgreSQL Python Qt Ubuntu Unix Vim Web Windows XD 作業系統 分享 好站推薦 專題 小提琴 攝影 新奇搞笑 新聞 旅遊 生活雜記 程式設計 網路架站 網頁設計 資訊學習 資訊安全 遊戲 音樂


創用 CC 授權條款
本著作係採用創用 CC 姓名標示-相同方式分享 4.0 國際 授權條款授權.