17 lines
454 B
MySQL
17 lines
454 B
MySQL
|
|
-- +goose Up
|
||
|
|
-- +goose StatementBegin
|
||
|
|
CREATE OR REPLACE FUNCTION generate_alphanumeric_code(code_length INTEGER DEFAULT 8)
|
||
|
|
RETURNS TEXT AS $$
|
||
|
|
DECLARE
|
||
|
|
chars TEXT := 'ABCDEFGHJKMNPQRSTUVWXYZ23456789';
|
||
|
|
result TEXT := '';
|
||
|
|
i INTEGER;
|
||
|
|
BEGIN
|
||
|
|
FOR i IN 1..code_length LOOP
|
||
|
|
result := result || substr(chars, floor(random() * length(chars) + 1)::INTEGER, 1);
|
||
|
|
END LOOP;
|
||
|
|
RETURN result;
|
||
|
|
END;
|
||
|
|
$$ LANGUAGE plpgsql;
|
||
|
|
-- +goose StatementEnd
|