20190820のMySQLに関する記事は4件です。

webarenaでubuntu その21

概要

webarenaでubuntu18.04やってみた。
mysql5.7やってみた。

コマンドラインに入る。

sudo mysql -u root -p

データーベースを作成。

create database mydb character set utf8;

ユーザーを作る。

create user 'arena'@'localhost' identified by 'pass';

権限をつける。

grant all privileges on mydb.* to 'arena'@'localhost';

phpでテーブル作る。

<?php
    $db = new PDO("mysql:host=localhost;dbname=mydb;", 'arena', 'pass');
    $sql = 'create table test(id INT(10) AUTO_INCREMENT PRIMARY KEY, name VARCHAR(20), age INT(4), r_time DATETIME)';
    $res = $db->query($sql);
    print "ok\n";
?>

結果を見る。

use mydb;
show columns from test;

以上。

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

MYSQLメモ

MYSQL(SQL)を書く上でよく使うコード類のメモです

※随時追加予定
コマンドプロンプトからの立ち上げ
mysql -u root -p

データベース一覧を見る
SHOW DATABASES;

現在のデータベースのテーブル一覧を見る
SHOW TABLES;

データベース選択
USE データベース名;

現在のデータベース確認
SELECT DATABASE();

データベース削除
DROP DATABASE 削除したいデータベース名;

ターブルの中身確認
SELECT *  FROM テーブル名;

データベースとテーブルを選択して中身確認
SELECT * FROM データベース名.テーブル名;

ユーザー作成
CREATE USER ユーザー名

ユーザー削除
DROP USER ユーザー名

mysqlのユーザー確認
SELECT USER, HOST FROM mysql.user;

↓実行結果
image.png

mysqlのユーザー削除(user名、host名は上記の画像と一致)
DROP USER user名@host名;

  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

1日のまとめ 8/20(火)

①MySQL

ググった単語
・データベース...端的に言うと、沢山の情報を纏めて管理できるソフトウェア。且つその情報を使用できる。用途は主に検索、抽出。

1..データベースの一覧記述

mysql>show databases; //Enter

2..データベースの作成記述

create database データベース名 //Enter

3..データベースの削除記述

mysql>drop database データベース名 //Enter

②HTML
ググった単語
・styleタグ..HTMLのhead要素の中にスタイルシートを直接記述するためのタグ。
・toransitionプロパディ...セレクタを変化させるまでの時間を設定するプロパディ。

<DOCTYPE html>
  <html>
    <head>
      <title>ナビゲーションバー勉強</title>
      <style>
        body{
          margin:0;
          padding:0;
          background:#ccc;
        }
        .nav ul{
          list-style:none;
          background:#663366;
          text-align:center;
          padding:10px;
          margin:0;
        }
        .nav li{
          display:inline-block;

        }
        .nav a {
          text-decoration:none;
          color:#fff;
          display:block;
          padding:15px;
          margin:15px;
          font-size:20px;
          font-family:Helvetica;
        }
        .nav a:hover {
          background: #000;
          transition:0.4s;
        }
        </style>
    </head>
    <body>
      <div class ="nav">
        <ul>
          <li><a href ="#">ホーム</a></li>
          <li><a href ="#">練習</a></li>
          <li><a href ="#">ブログ</a></li>
          <li><a href ="#">ニュース</a></li>
          <li><a href ="#">お問い合わせ</a></li>
        </ul>
      </div>
      </body>
      </html>
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む

Rails 6.0.0 のAction Textを使ってみた(Herokuにデプロイするまで)

Rails6がついに来た!

というわけで,主要機能の1つ,Action Textを早速試してみました。

開発環境

  • macOS Mojave 10.14.5
  • Ruby 2.6.3
  • Rails 6.0.0
  • Yern 1.17.3

参考

手順

1. アプリの準備

  • YarnWebpackが必要です。
  • MySQLを指定していますが,お好みで。
コンソール
$ brew install yarn
$ rails new action_text_sample -d mysql --webpack
  • Rails 6image_processingをインストールするためGemfileを編集します。
    • gem 'actiontext'Rails 6に標準実装されているので不要
    • coffee-railsを5.0.0にしないと警告が出るので一応
Gemfile
- gem 'rails'
- gem 'coffee-rails'
+ gem 'rails', '~> 6.0.0'
+ gem 'coffee-rails', '~> 5.0'
+ gem 'image_processing', '~> 1.9.3'
- gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
  • bundle installがエラーになるので,bundle updateを使用
  • Action Textをインストール
  • この記事ではscaffoldでサボりますが,お好みで。
コンソール
$ bundle update
$ rails db:create
$ rails g scaffold Post title:string
$ rails action_text:install
$ rails db:migrate

2. Action Textの導入

  • WebpackでJavaScriptを利用するためにタグを変更します。
    (この作業をとばすとActionTextが反映されません)
app/views/layouts/application.html.erb
- <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
+ <%= javascript_pack_tag 'application' %>
  • 上記作業でDELETEリクエストを送信できなくなる(削除ができなくなる)ので,rails-ujsを追加します。
コンソール
$ yarn add rails-ujs
app/javascript/packs/application.js
+ require("rails-ujs").start()
 require("trix")
 require("@rails/actiontext")
  • リッチテキストエディタ導入のため,ビューなどの編集をします
config/routes.rb
Rails.application.routes.draw do
  root 'posts#index'  # 追加
  resources :posts
end
app/models/posts.rb
class Article < ApplicationRecord
  has_rich_text :content  # 追加
end
app/controllers/posts_controller.rb
class PostsController < ApplicationController
  private
    ()
    def post_params
      params.require(:post).permit(:title, :content)  # :contentを追加
    end
end
app/views/posts/_form.html.erb
  <div class="field">
    <%= form.label :title %>
    <%= form.text_field :title %>
  </div>

  <!-- 以下を追加 -->
  <div class="field">
    <%= form.label :content %>
    <%= form.rich_text_area :content %>
  </div>
  <!-- ここまで -->

  <div class="actions">
    <%= form.submit %>
  </div>
<% end %>
app/views/posts/index.html
      <td><%= link_to 'Destroy', post, method: :delete, data: { confirm: 'Are you sure?' } %></td>
    </tr>
  <!-- 以下を追加 -->
    <tr>
      <td colspan="4"><%= post.content %></td>
    </tr>
  <!-- ここまで -->
    <% end %>
  </tbody>
</table>
app/views/posts/show.html
<p>
  <strong>Title:</strong>
  <%= @post.title %>
  <%= @post.content %>  # 追加
</p>
  • http://localhost:3000/posts/newにアクセスすると……

スクリーンショット 2019-08-18 16.25.50.png

こんな感じの投稿ができます。もちろん投稿一覧にも反映されます!

3. Herokuにデプロイする際の注意点

  • 基本手順は以前の記事などを参照下さい。

  • 画像ファイルは時間経過やデプロイした際に消去されてしまうので,S3などを使用する必要があります。

    • Active Storageと同じ設定ではS3に画像が保存されませんでした。Rails 6かHerokuの不具合だと予想していますが……
  • Herokuにデプロイする際,Rails 6.0.0の不具合なのか次のエラーが発生します。

エラー内容
(略)
remote:        rake aborted!
remote:        ArgumentError: Missing `secret_key_base` for 'production' environment, set this string with `rails credentials:edit`
(略)
remote:  !
remote:  !     Precompiling assets failed.
remote:  !
(略)

次のコマンドで,Herokuに環境変数をあらかじめ追加することでデプロイできるようになります。

コンソール
$ heroku config:set SECRET_KEY_BASE=`ruby -rsecurerandom -e "puts SecureRandom.hex(64)"`

ところがもう一つ問題が……

jsやcssが404エラーとなり反映されない不具合が出ています。この問題は伊藤さんの記事に書かれているように,Herokuへの環境変数追加で解消できます。

コンソール
$ heroku config:set RAILS_SERVE_STATIC_FILES=1
  • このエントリーをはてなブックマークに追加
  • Qiitaで続きを読む